Chapter 10

TCP/IP Printing Services

To share printing services with non-Microsoft systems such as UNIX, NT has to have the capability to work with LPD. For NT to share printing with UNIX, it must act like a LPD.  If you are working with Microsoft clients, no need to worry about this because Microsoft clients when attempting to print use the Server service in a NetBIOS network).

LPD (Line Printer Daemon)

What is a Daemon?

A daemon is a utility program that runs on a TCP/IP server. These programs run in the background, performing services such as file transfers, printing, calculations, searching for information, and many other tasks. It is similar to a TSR program from DOS. Daemons are fully supported by UNIX.

Services that run on a UNIX system are called "daemon". For NT to integrate with a UNIX environment, Microsoft had to include the capability to print between these two platforms. The service that allows this to happen is TCP/IP Printing Service. TCP/IP Printing Service enables a connection to and use of the services of a UNIX system's printer (Using Print Manager) by creating an LPR (Line Printer Request) (page 427 of text) port that uses the daemon on the UNIX system for printing.

The LPD receives print jobs from LPR clients. The LPR clients are usually UNIX systems, however LPR software is included with most TCP/IP stacks.

By installing TCP/IP Printing Services any TCP/IP computer can print to a Windows NT printer.

Printing with NT

The Print Process

NT Printing System

There are four main parts to NT Printing System (Print Drivers, Print Spooler, Print Processor, and Port Monitor)

Print Drivers

Broken down to three sections 1) Graphics driver, 2) printer interface, and 3) characterization data files

Graphics Driver

Is part of the print driver that works with the GDI to create the EMF file. It knows about the type of printer you are printing to. There are three main types of printers 1) raster, 2) PostScript, and 3) plotters.

  • RASDD.DLL used with raster printers. A raster printer is the most common form of printer. These printers create their image in a series of dots.
  • PSCRIPT.DLL these work with PostScript printers.  These printers use a programming language to describe the page and how it will look using vectors. Vectors use starting point, direction, and distance to build the page out of a series of lines.
  • PLOTTER.DLL is used with a plotter printer.

Printer Interface

Is the interface to the settings of the printer with which you are working.  It reads information from the characterization file so that you know what options are available on the printer and then it enables you to set the options.

  • RASDDUI.DLL used for raster printers
  • PSCRIPTUI.DLL used for PostScripts printers
  • PLOTUI.DLL used with plotter printers.

Characterization Data File

Provide the information for the printer interface so that it knows what the capabilities are. They also contain codes used to transform the EMF file to a printer-ready state.

Print Spooler

Is responsible for storing the print job on the hard disk and moving it through the various stages on the way to the printing device (printer). It runs as a service on NT and can be seen in the Services icon in Control Panel.

Print Processor

The printer needs to see the data as formatted printer data if it is to actually print the file. The processor (WINPRINT.DLL) handles the conversion between the different types of files.  The processor handles the data types and can convert them to the data type the printer requires. (if this is a print server, the processing is handled on the server, not the client). This removes the burden off the client.

Port Monitor

Is the link between the logical printer that the users connect to and the physical printer where the paper comes out. The below list is some of the available port monitors:

With the separation of the logical and physical printers, you can link several different logical printers to a single physical printer. This enables you to have different settings on the different logical printers and then use the same printing device. The flip side to this is you can connect several physical printers to the same logical printer, creating a printing pool, meaning that many different printing devices can accept jobs from one logical printer.

Creating a printer pool increases the number of pages-per-minute you can process without having to purchase very expensive high-end printers.

Installing TCP/IP Services

TCP/IP must be configured and running properly before installing TCP/IP Printing Services. 

To install TCP/IP Printing Services

Connecting to a LPD Server

The process of moving print files from the queue to the physical printing device in NT is handled by a monitor.

When  you want to connect to a LPD server, you must create a printer (unless you want to redirect).

Configuring the LPR port on the Ports tab of the Printer properties (see pp. 190 - 191)

Sharing Your Printer Using LPD

LPD server is implemented as a service. There are two steps involved in sharing your printer using LPD services;